package com.itbaizhan.controller;

import com.itbaizhan.entity.User;
import com.itbaizhan.service.IPaymentService;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 订单控制层
 */
@RestController
public class OrderController {


    /**
     * @DubboReference
     * 1、标记服务引用： 通过在服务消费者得字段或者方法上添加@DubboReference，标记了对某个服务提供者得引用。
     * dubbo框架就知道需要将服务注入到当前得这个类中。
     * 2 、自动引用服务： dubbo框架自动得处理远程服务得引用过程。负载均衡、服务发现呀连接等
     * 3、透明远程调用:dubbo 框架自动处理远程调用的过程。将请求发送给服务提供者，把结果返回给服务消费者
     * 4、提供配置选项：超时时间、重试次数、负载均衡等
     *
     */
    @DubboReference
    private IPaymentService iPaymentService;


    @GetMapping("/getPayment")
    public String order(){
        return iPaymentService.payment("1");
//        User user = iPaymentService.getUser();
//        return user;
    }


}
